package main

import (
	"fmt"
	"runtime"
)

/**
Gosched 作用：让出时间执行其他程序，其他程序执行完成，在执行下边的操作
 */
func main()  {

	//不加Gosched这个匿名函数是执行不到的，因为他要先走下边的主函数的for，因为很快，所以下边的for执行完了，还没等上边的协程执行结束，程序就退出了
	go func() {
		for i := 0; i < 5; i++ {
			fmt.Println("go")
		}
	}()

	for i := 0; i < 2; i++ {
		//加上Gosched上边的子协程才能执行
		runtime.Gosched()
		fmt.Println("main")
	}
}
